home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 131 / XENIATGM131.iso / Goodies / I-WAR 2 Egde of Chaos - New SDK / IW2-EOC_Pog_Scripting_SDK.exe / include / iDirector.h < prev    next >
C/C++ Source or Header  |  2002-01-14  |  5KB  |  257 lines

  1. //
  2. // (c) 2000 Particle Systems Ltd. All Rights Reserved
  3. //
  4. // iDirector.h
  5. //
  6. // API for the package iDirector.
  7. //
  8. // Revision control information:
  9. //
  10. // $Header: /iwar2/packages/iDirector.h 9     5/03/01 11:39 Derekm $
  11. //
  12.  
  13. #include "Flux.h"
  14.  
  15. #ifdef FLUX_COMPILE
  16.  
  17. FLUX_DECLARE_EXTENSION(iDirector);
  18.  
  19. #ifdef FLUX_LIB
  20. #if _MSC_VER >= 1000
  21. #pragma comment( lib, "iDirector" )
  22. #endif // _MSC_VER >= 1000
  23. #endif // FLUX_LIB
  24. #else
  25.  
  26. uses Sim;
  27.  
  28. /**
  29.  * Camera types. These must be kept in sync with cameras\iDirector.h
  30.  */
  31. enum eCamera 
  32.     CAM_None,
  33.  
  34.     // Internal camera
  35.     CAM_Internal, 
  36.  
  37.     // Internal camera without cockpit
  38.     CAM_InternalNoCockpit,
  39.  
  40.     // Internal no HUD
  41.     CAM_InternalNoHUD,
  42.  
  43.     // Chase camera
  44.     CAM_Chase,
  45.  
  46.     // Chase camera with headup
  47.     CAM_Arcade,
  48.     
  49.     // External camera
  50.     CAM_External, 
  51.  
  52.     // Target external camera
  53.     CAM_TargetExternal, 
  54.  
  55.     // Tactical camera
  56.     CAM_Tactical,
  57.  
  58.     // Inverse tactical camera
  59.     CAM_InverseTactical,
  60.  
  61.     // Flyby camera
  62.     CAM_Flyby,
  63.  
  64.     // Drop camera
  65.     CAM_Drop, 
  66.  
  67.     // Distant drop camera
  68.     CAM_DistantDrop, 
  69.  
  70.     // Two-shot camera (focus on left, target on right)
  71.     CAM_TwoShot,
  72.  
  73.     // Two-shot camera (foci reversed)
  74.     CAM_InverseTwoShot,
  75.  
  76.     // Conversation camera (focus on left, target on right)
  77.     CAM_Conversation,
  78.  
  79.     // Bridge shot camera (look at the front of the primary)
  80.     CAM_BridgeShot,
  81.  
  82.     // Target bridge shot camera (look at the front of the secondary)
  83.     CAM_TargetBridgeShot,
  84.  
  85.     // Contact camera (used to render target MFD)
  86.     CAM_Contact,
  87.  
  88.     // Dolly camera, primary is the camera, secondary is looked at
  89.     CAM_Dolly,
  90.  
  91.     // Tactical camera with no HUD
  92.     CAM_TacticalNoHUD,
  93.  
  94.     // Distant bridge shot
  95.     CAM_DistantBridgeShot,
  96.  
  97.     // Number of cameras.
  98.     eCameraCount
  99. };
  100.  
  101. //
  102. // Begin function
  103. //
  104. // prototype void iDirector.Begin();
  105. //
  106. prototype iDirector.Begin();
  107.  
  108. //
  109. // End function
  110. //
  111. // prototype void iDirector.End();
  112. //
  113. prototype iDirector.End();
  114.  
  115. //
  116. // IsBusy
  117. //
  118. // prototype bool iDirector.IsBusy();
  119. //
  120. prototype bool iDirector.IsBusy();
  121.  
  122. //
  123. // Captioning
  124. //
  125.  
  126. //
  127. // SetCaption
  128. //
  129. // prototype void iDirector.InUse();
  130. //
  131. prototype iDirector.SetCaption(string caption, float time);
  132.  
  133. //
  134. // Focus
  135. //
  136.  
  137. //
  138. // Focus
  139. //
  140. // prototype void iDirector.Focus();
  141. //
  142. prototype hsim iDirector.Focus();
  143.  
  144. //
  145. // SetFocus
  146. //
  147. // prototype void iDirector.SetFocus();
  148. //
  149. prototype iDirector.SetFocus(hsim sim);
  150.  
  151. //
  152. // SecondaryFocus
  153. //
  154. // prototype void iDirector.SecondaryFocus();
  155. //
  156. prototype hsim iDirector.SecondaryFocus();
  157.  
  158. //
  159. // SetSecondaryFocus
  160. //
  161. // prototype void iDirector.SetSecondaryFocus();
  162. //
  163. prototype iDirector.SetSecondaryFocus(hsim sim);
  164.  
  165. //
  166. // Set camera
  167. //
  168.  
  169. //
  170. // Read the current camera
  171. //
  172. prototype eCamera iDirector.Camera();
  173.  
  174. //
  175. // Set the current camera
  176. //
  177. prototype iDirector.SetCamera(eCamera camera);
  178.  
  179. //
  180. // Dolly
  181. //
  182.  
  183. //
  184. // Create a dolly
  185. //
  186. prototype hsim iDirector.CreateDolly();
  187.  
  188. //
  189. // Given two sims, set the direction of motion
  190. //
  191. prototype hsim iDirector.SetDirection(hsim dolly, hsim a, hsim b, float time, float acc_time);
  192.  
  193. //
  194. // Use the given sim as a dolly camera. The dolly is used as the secondary
  195. // focus, looking at the primary focus
  196. //
  197. prototype hsim iDirector.SetDollyCamera(hsim dolly);
  198.  
  199. //
  200. // Attach the dolly cam to a sim. The dolly will be removed
  201. // from any other sim its on.
  202. //
  203. prototype hsim iDirector.AttachDollyToSim(hsim dolly, hsim sim);
  204.  
  205. //
  206. // Orientation of the dolly view is normally defined by what is being
  207. // looked at (the primary focus). Calling this with true will allow
  208. // the orientation to be picked up from the dolly sim orientation.
  209. // Calling with false will reset to the normal behaviour
  210. //
  211. prototype iDirector.UseDollyOrientation(hsim dolly, bool dolly_orientation);
  212.  
  213. //
  214. // Pick the view orientation from a given sim
  215. //
  216. prototype iDirector.UseSimOrientation(hsim dolly, hsim sim);
  217.  
  218. //
  219. // Set the dolly to look forward
  220. //
  221. prototype iDirector.DollyLookForward(hsim dolly);
  222.  
  223. //
  224. // Set Field of view 
  225. //
  226. prototype hsim iDirector.SetFieldOfView(float fov);
  227.  
  228. //
  229. // Set Field of view between the two angles over time seconds
  230. //
  231. prototype hsim iDirector.SetInterpolateFieldOfView(float from, float to, float time);
  232.  
  233. //
  234. // Set Field of view between the two angles over time seconds
  235. //
  236. prototype iDirector.Obituary(string caption);
  237.  
  238. //
  239. // Set Field of view between the two angles over time seconds
  240. //
  241. prototype bool iDirector.IsObituaryView();
  242.  
  243. //
  244. // Fade out to colour (r, g, b) over time seconds
  245. //
  246. prototype bool iDirector.FadeOut(float time, float r, float g, float b);
  247.  
  248. //
  249. // Fade in from colour (r, g, b) over time seconds
  250. //
  251. prototype bool iDirector.FadeIn(float time, float r, float g, float b);
  252.  
  253. // EOF ////////////////////////////////////////////////////////////////////////
  254.  
  255. #endif // FLUX_LIB
  256.